#pragma once

#include "FCProperties.h"

namespace UIStone
{
	class FCController_Background : public FCPropertyContainer
		<
			Loki::TL::MakeTypelist
			<
				FCPropertyBackgroundColor,
				FCPropertyBackgroundColorTransparent,
				FCPropertyBackgroundImage,
				FCPropertyBackgroundRepeat
			>::Result
		>
	{
	public:

		enum BackgroundColorType
		{
			BACKGROUND_COLOR_TRANSPARENT	= 0,
			BACKGROUND_COLOR_FILL			= 1
		};

		enum BackgroundRepeatType
		{
			BACKGROUND_REPEAT_NONE			= 0,
			BACKGROUND_REPEAT_X				= 1,
			BACKGROUND_REPEAT_Y				= 2,
			BACKGROUND_REPEAT_BOTH			= 3,
			BACKGROUND_REPEAT_TENSION		= 4
		};

		FCController_Background()
		{
			_defaultValue();
		}

		virtual ~FCController_Background() {}

	private:
		void _defaultValue()
		{
			BackgroundColor() = RGB(0, 0, 0);
			BackgroundColorTransparent() = BACKGROUND_COLOR_TRANSPARENT;
			BackgroundRepeat() = BACKGROUND_REPEAT_TENSION ;
		}
	};
};